queue.tasks = struct('i', -1, 'j', -1, 'target_id', -1);
PQ(1:7) = queue;
for i = 1:7
  PQ(i).tasks = PQ(i).tasks(2:1);
end
  
S1_TVO = zeros(1, 10);
for i = 1 : 10
  while 1
    S1_TVO(i) = ceil(rand() * 10);
    been_done = 0;
    for j = 1:i-1
      if S1_TVO(i) == S1_TVO(j)
        been_done = 1;
        break;
      end
    end
    if ~been_done
      break;
    end
  end
end

S2_TVO = zeros(1, 15);
for i = 1 : 15
  while 1
    S2_TVO(i) = ceil(rand() * 15);
    been_done = 0;
    for j = 1:i-1
      if S2_TVO(i) == S2_TVO(j)
        been_done = 1;
        break;
      end
    end
    if ~been_done
      break;
    end
  end
end

[Status, Scheduled_Targets, PQ] = MSDF_BS_Schedule(PQ, S1_TVO, S2_TVO);